// https://nuxt.com/docs/api/configuration/nuxt-config

import AutoImport from 'unplugin-auto-import/vite'
import Components from 'unplugin-vue-components/vite'
import { NaiveUiResolver } from 'unplugin-vue-components/resolvers'
export default defineNuxtConfig({
  compatibilityDate: '2024-04-03',
  devtools: { enabled: true },
  ssr: true,
  app: {
    head: {
      title: "Lin | SpectraWeb",
      charset: 'utf-8',
      meta: [
        { 
          name: 'viewport',
          content: 'width=device-width, height=device-height, initial-scale=1.0, minimum-scale=1, maximum-scale=1, user-scalable=yes' 
        },
      ],
      link:[
        {rel: 'icon', type: 'image/x-icon', href: '/ico/young.ico'}
      ],
      script: [
    
      ]
    },
  },

  // postcss: {
  //   plugins: {
  //     // 这个工具可以实现自动添加CSS3前缀
  //     autoprefixer: {
  //       overrideBrowserslist: ['last 5 version', '>1%', 'ie >=8'],
  //     },
  //     'postcss-px-to-viewport': {
  //       unitToConvert: 'px', // 要转化的单位
  //       viewportWidth: 1920, // UI设计稿的宽度
  //       unitPrecision: 6, // 转换后的精度，即小数点位数
  //       propList: ['*'], // 指定转换的css属性的单位，*代表全部css属性的单位都进行转换
  //       viewportUnit: 'vw', // 指定需要转换成的视窗单位，默认vw
  //       fontViewportUnit: 'vw', // 指定字体需要转换成的视窗单位，默认vw
  //       selectorBlackList: ['lin_login_dialog'], // 指定不转换为视窗单位的类名,例如van-（vantUI组件），
  //       minPixelValue: 1, // 默认值1，小于或等于1px则不进行转换
  //       mediaQuery: true, // 是否在媒体查询的css代码中也进行转换，默认false
  //       replace: true, // 是否转换后直接更换属性值
  //       exclude: [/node_modules/], // 设置忽略文件，用正则做目录名匹配，最好不要排除node_modules 文件，排除后在项目中会发现字体不能跟随页面放大
  //       landscape: true, // 是否处理横屏情况
  //     },
  //   },
  // },

  modules: [
    '@element-plus/nuxt',
    'nuxtjs-naive-ui',
    '@pinia/nuxt',
  ],

  vite: {
    plugins: [
      AutoImport({
        imports: [
          {
            'naive-ui': [
              'useDialog',
              'useMessage',
              'useNotification',
              'useLoadingBar'
            ]
          }
        ]
      }),
      Components({
        resolvers: [NaiveUiResolver()]
      })
    ]
  },


  elementPlus: {
    icon: 'ElIcon',
    importStyle: 'css',
    themes: ['dark'],
  },

  plugins: [
    { src: '~/plugins/element-plus-icons.ts', mode: 'client' },
    { src: '~/plugins/debounce.ts', mode: 'client' }
  ],

  css: [
    '~/assets/css/style.css',
    'element-plus/dist/index.css',
    'element-plus/theme-chalk/display.css',
  ],
})
